/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package GestorPruebas;
/**
 * @file ValoresPrueba.java
 * @brief Implementa la clase ValoresPrueba
 *
 * Implementa la clase ValoresPrueba que guarda los rangos máximo y mínimos normales
 * para cada uno de los posibles resultados de la prueba
 *
 * @author Juan José Alonso Sánchez
 * @version 01.00
 *
 */


import java.io.IOException;
import java.security.NoSuchAlgorithmException;
import java.sql.SQLException;

/**
 * @class ValoresPrueba
 * @brief Relacionada con la clase Prueba
 */
public class ValoresPrueba{

    /**
     * @brief Nombre de un parámetro que se analiza en una prueba
     */
    private String _nombre;

    /**
     * @brief Valor máximo recomendable de este parámetro en el organismo
     */
    private Float _maximo;

    /**
     * @brief Valor mínimo recomendable de este parámetro en el organismo
     */
    private Float _minimo;

    /**
     * @brief Unidad en la que se mide el parámetro
     */
    private String _unidad;



    /**
     * @brief Constructor de la clase ValoresPrueba
     * @param Nombre de un parámetro que se analiza en una prueba
     * @param Valor máximo recomendable de este parámetro en el organismo
     * @param Valor mínimo recomendable de este parámetro en el organismo
     * @param Unidad en la que se mide el parámetro
     */
    public ValoresPrueba (String nombre, Float maximo, Float minimo, String unidad)
    {
        this._nombre = nombre;
        this._maximo = maximo;
        this._minimo = minimo;
        this._unidad = unidad;

    }

    /**
     * @brief Constructor por defecto
     */
    public ValoresPrueba() {

        this._nombre = null;
        this._maximo = null;
        this._minimo = null;
        this._unidad = null;

    }

    /**
     * @brief Obtiene el rango máximo normal para dicho atributo
     */
    public Float getMaximo(){
    	return this._maximo;
    }

    /**
     * @brief Obtiene el rango mínimo normal para dicho atributo
     */
    public Float getMinimo(){
    	return this._minimo;
    }

    /**
     * @brief Consultar las unidades en las que se mide dicho atributo
     */
    public String getUnidad(){
    	return this._unidad;
    }



    /**
     * @brief Fija el rango máximo normal para dicho atributo
     * @param máximo de la prueba
     */
    public void setMaximo(float maximo){
        this._maximo = maximo;
    }

    /**
     * @brief Fija el rango mínimo normal para dicho atributo
     * @param mínimo de la prueba
     */
    public void setMinimo(float minimo){
        this._minimo = minimo;
    }

    /**
     * @brief Fija el tipo de unidad en el cual se expresará el atributo en cuestión
     * @param unidad de la prueba
     */
    public void setUnidad(String unidad){
        this._unidad = unidad;
    }



    /**
     * @brief Llama a la funcion que obtiene los valores de prueba en la BD y los guarada en una ubicacion temporal
     * @param nombre del atributo
     *
     * @return valores obtenidos en la BD
     */
    public static ValoresPrueba get(String nombre) throws SQLException, IOException, ClassNotFoundException, NoSuchAlgorithmException{
	return ValoresPruebaDAO.get(nombre);
    }

 }